DNS چیست ؟
! مشق شب
(¯·.¸¸·'Computer Network Engineering¸¸.·´¯)

 کلمه DNS ، مخفف Domain Name System یا "سیستم نام دامنه" است.

سیستم نام دامنه (DNS) یک سیستم پایگاه داده است که نام کامل دامنه یک کامپیوتر را به یک آدرس IP ترجمه میکند.


کامپیوترهای موجود در یک شبکه برای اتصال به یکدیگر از آدرسهای IP استفاده می کنند، ولی به یاد داشتن آدرس های IP کامپیوترهای یک شبکه برای افرادی که قصد اتصال به آنان را دارند بسیار دشوار است. مثلا به خاطر سپردن نام دامنه SarzaminDownload.com بسیار ساده تر از به خاطر سپردن آدرس IP نظیر آن (207.171.166.48) است. به همین علت اغلب ما برای اتصال به سایت ها، نام دامنه آن را وارد می کنیم. لذا DNS به شما امکان می دهد تا به جای استفاده از آدرس های عددی IP برای اتصال به یک کامپیوتر خاص در شبکه ای دیگر (یا برای دسترسی به یک سرویس راه دور)، با به کارگیری نام دامنه ای که به خاطر آوردن آن برای شما راحت تر است به آن کامپیوتر متصل شده یا از آن سرویس بهره بگیرید.

(برعکس عکس این مسئله، Reverse DNS یا rDNS نام دارد که آدرس IP را به نام دامنه متناظر ترجمه می کند)... 

هر سازمانی که دارای یک شبکه کامپیوتری است حداقل مجهز به یک سرور مرکزی است که پرس و جوهای DNS را کنترل و سازماندهی می کند. این سرور که Name Server نامیده می شود فهرستی از همه آدرس های IP اختصاص داده شده به کامپیوترهای موجود در آن شبکه را نگه می دارد. این سرور همچنین آدرس های IP  آن دسته از کامپیوترهای خارج از شبکه را که اخیرا مورد دسترسی قرار گرفته اند نیز نگه می دارد. هر کامپیوتر در هر شبکه باید مکان تنها یک Name Server  را بداند.

 

زمانی که کامپیوتر شما درخواست یک آدرس IP را می کند، بسته به اینکه آدرس IP درخواست شده در محدوده شبکه محلی شما قرار دارد یا خیر یکی از این سه حالت رخ می دهد:


حالت اول :  اگر آدرس IP درخواست شده به طور محلی ثبت شده است (مثلا این آدرس متعلق به یکی از کامپیوترهای  شبکه سازمان شماست) مستقیما پاسخی را از یکی از Name Server های محلی فهرست شده در تنظیمات Workstation خود دریافت خواهید داشت. در این حالت معمولا دریافت پاسخ یا خیلی کم طول می کشد یا به صورت کاملا بلادرنگ صورت می گیرد.


حالت دوم : اگر آدرس IP درخواست شده به صورت محلی ثبت نشده است (مثلا این آدرس متعلق به کامپیوتری در خارج شبکه سازمان شماست) ولی شخصی در سازمان شما اخیرا به همان آدرس IP رجوع کرده و به سایت نظیر آن متصل شده است، آنگاه Name Server  آدرس IP را از سیستم ذخیره سازی کش خود بازیابی خواهد کرد (کش= حافظه ای محدود که بخشی از آدرسهای IP که اخیرا مورد مراجعه قرار گرفته اند را در خود نگه می دارد). مجددا در این حالت هم معمولا دریافت پاسخ یا خیلی کم طول می کشد یا به صورت کاملا بلادرنگ صورت می گیرد.


حالت سوم : اگر آدرس IP درخواست شده به صورت محلی ثبت نشده است و شما اولین کسی هستید که در یک بازه زمانی خاص اطلاعاتی از سیستم مورد نظر را درخواست کرده اید، ( از 12 ساعت تا یک هفته پیش) آنگاه Name Server محلی به جای Workstation شما جستجو را انجام خواهد داد. این جستجو ممکن است شامل پرس و جو از دو یا چند Name Server دیگر در هر مکان راه دور دیگری باشد. این پرس و جوها ممکن است از یک ثانیه تا بیشتر به طول انجامد (بسته به آنکه اتصال شما به شبکه راه دور چه کیفیتی دارد و با چند Name Server بایستی ارتباط برقرار شود).

 

برخی اوقات به خاطر پروتکل lightweight مورد استفاده در DNS ، ممکن است پاسخی دریافت نکنید. در چنین شرایطی Workstation یا نرم افزار Client شما ممکن است تا زمان دریافت پاسخ به تکرار پرس و جوی خود ادامه دهد یا ممکن است پیام خطایی دریافت کنید.


زمانی که از برنامه ای مثل Telnet برای اتصال به کامپیوتری دیگر استفاده می کنید، احتمالا برای برقراری این اتصال به جای تایپ کردن آدرس کامپیوتر مورد نظر، نام دامنه آن را وارد می کنید. برنامه Telnet نام دامنه ای که توسط کاربر تایپ شده است را دریافت کرده و با به کارگیری یکی از روشهایی که در بالا گفته شد و به کمک Name Server ، آدرس IP نظیر آن را به دست می آورد.

 

به عنوان مثال می توان DNS را مانند یک دفترچه تلفن الکترونیکی برای یک شبکه کامپیوتری در نظر گرفت، به طوری که اگر نام کامپیوتر مورد نظر را بدانید، Name Server آدرس IP نظیر آن را جستجو کرده و می یابد.

پایان بخش اول 





بخش دوم :

توضیحات بیشتر در مورد DNS SERVER 

DNS مسئوليت حل مشکل اسامی کامپيوترها ( ترجمه نام به آدرس ) در يک شبکه و مسائل مرتبط با برنامه های Winsock را بر عهده دارد. بمنظور شناخت برخی از مفاهيم کليدی و اساسی DNS ، لازم است که سيستم فوق را با سيستم ديگر نامگذاری در شبکه های مايکروسافت(NetBIOS ) مقايسه نمائيم . 

قبل از عرضه ويندوز 2000 تمامی شبکه های مايکروسافت از مدل NetBIOS برای نامگذاری ماشين ها و سرويس ها ی موجود بر روی شبکه استفاده می کردند. NetBIOS در سال 1983 به سفارش شرکت IBM طراحی گرديد. پروتکل فوق در ابتدا بعنوان پروتکلی در سطح لايه " حمل " ايفای وظيفه می کرد.در ادامه مجموعه دستورات NetBIOS بعنوان يک اينترفيس مربوط به لايه Session نيز مطرح تا از اين طريق امکان ارتباط با ساير پروتکل ها نيز فراهم گردد. NetBEUI مهمترين و رايج ترين نسخه پياده سازی شده در اين زمينه است . NetBIOS برای شيکه های کوچک محلی با يک سگمنت طراحی شده است . پروتکل فوق بصورت Broadcast Base است . سرويس گيرندگان NetBIOS می توانند ساير سرويس گيرندگان موجود در شبکه را از طريق ارسال پيامهای Broadcast بمنظور شناخت و آگاهی از آدرس سخت افزاری کامپيوترهای مقصد پيدا نمايند. شکل زير نحوه عملکرد پروتکل فوق در يک شبکه و آگاهی از آدرس سخت افزاری يک کامپيوتر را نشان می دهد. کامپيوتر ds2000 قصد ارسال اطلاعات به کامپيوتری با نام Exeter را  دارد. يک پيام Broadcast برای تمامی کامپيوترهای موجود در سگمنت ارسال خواهد شد. تمامی کامپيوترهای موجود در سگمنت مکلف به بررسی پيام می باشند. کامپيوتر Exeter پس از دريافت پيام ،آدرس MAC خود را برای کامپيوتر ds2000 ارسال می نمايد.

همانگونه که اشاره گرديد استفاده از پروتکل فوق برای برطرف مشکل اسامی ( ترجمه نام يک کامپيوتر به آدرس فيزيکی و سخت افزاری ) صرفا" برای شبکه های محلی با ابعاد کوچک توصيه شده و در شبکه های بزرگ نظير شبکه های اترنت با ماهيت Broadcast Based با مشکلات عديده ای مواجه خواهيم شد.در ادامه به برخی از اين مشکلات اشاره شده است . 
● بموازات افزايش تعداد کامپيوترهای موجود در شبکه ترافيک انتشار بسته های اطلاعاتی بشدت افزايش خواهد يافت . 
● پروتکل های مبتنی بر NetBIOS ( نظير NetBEUI) دارای مکانيزمهای لازم برای روتينگ نبوده و دستورالعمل های مربوط به روتينگ در مشخصه فريم بسته های اطلاعاتی NetBIOS تعريف نشده است . 
● در صورتيکه امکانی فراهم گردد که قابليت روتينگ به پيامهای NetBIOS داده شود ( نظير Overlay نمودن NetBIOS بر روی پروتکل ديگر با قابليت روتينگ ، روترها بصورت پيش فرض بسته های NetBIOS را منتشر نخواهند کرد. 
ماهيت BroadCast بودن پروتکل NetBIOS يکی از دو فاکتور مهم در رابطه با محدوديت های پروتکل فوق خصوصا" در شبکه های بزرگ است . فاکتور دوم ، ساختار در نظر گرفته شده برای نحوه نامگذاری است . ساختار نامگذاری در پروتکل فوق بصورت مسطح (Flat) است .

Flat NetBios NameSpace

بمنظور شناخت و درک ملموس مشکل نامگذاری مسطح در NetBIOS لازم است که در ابتدا مثال هائی در اين زمينه ذکر گردد. فرض کنيد هر شخص در دنيا دارای يک نام بوده و صرفا" از طريق همان نام شناخته گردد. در چنين وضعيتی اداره راهنمائی و رانندگی اقدام به صدور گواهينمامه رانندگی می نمايد. هر راننده دارای يک شماره سريال خواهد شد. در صورتيکه از اداره فوق سوالاتی نظير سوالات ذيل مطرح گردد قطعا" پاسخگوئی به آنها بسادگی ميسر نخواهد شد. 
- چند نفر با نام احمد دارای گواهينامه هستند؟
- چند نفر با نام رضا دارای گواهينامه هستند؟
در چنين حالی اگر افسر اداره راهنمائی و رانندگی راننده ای را بخاطر تخلف متوقف نموده و از مرکز و بر اساس نام وی استعلام نمايد که آيا " راننده ای با نام احمد قبلا" نيز مرتکب تخلف شده است يا خير ؟" در صورتيکه از طرف مرکز به وی پاسخ مثبت داده شود افسر مربوطه هيچگونه اطمينانی نخواهد داشت که راننده در مقابل آن همان احمد متخلف است که قبلا" نيز تخلف داشته است . 
يکی از روش های حل مشکل فوق، ايجاد سيستمی است که مسئوليت آن ارائه نام بصورت انحصاری و غيرتکراری برای تمامی افراد در سطح دنيا باشد. در چنين وضعيتی افسر اداره راهنمائی و رانندگی در برخورد با افراد متخلف دچار مشکل نشده و همواره اين اطمينان وجود خواهد داشت که اسامی بصورت منحصر بفرد استفاده شده است . در چنين سيستمی چه افراد و يا سازمانهائی مسئله عدم تکرار اسامی را کنترل و اين اطمينان را بوجود خواهند آورند که اسامی بصورت تکراری در سطح دنيا وجود نخواهد داشت؟. بهرحال ساختار سيستم نامگذاری می بايست بگونه ای باشد که اين اطمينان را بوجود آورد که نام انتخاب شده قبلا" در اختيار ديگری قرار داده نشده است . در عمل پياده سازی اينچنين سيستم هائی غير ممکن است.مثال فوق محدوديت نامگذاری بصورت مسطح را نشان می دهد. 
سيستم نامگذاری بر اساس NetBIOS بصورت مسطح بوده و اين بدان معنی است که هر کامپيوتر بر روی شبکه می بايست دارای يک نام متمايز از ديگران باشد. در صورتيکه دو کامپيوتر موجود بر روی شبکه های مبتنی بر NetBIOS دارای اسامی يکسانی باشند پيامهای ارسالی از يک کامپيوتر به کامپيوتر ديگر که دارای چندين نمونه ( نام تکراری ) در شبکه است، می تواند باعث بروز مشکلات در شبکه و عدم رسيدن پيام ارسال شده به مقصد درست خود باشد.

اينترفيس های NetBIOS و WinSock

DNS مسائل فوق را بسادگی برطرف نموده است . سيستم فوق از يک مدل سلسله مراتبی برای نامگذاری استفاده کرده است . قبل از پرداختن به نحوه عملکرد و جزئيات سيستم DNS لازم است در ابتدا با نحوه دستيابی برنامه ها به پروتکل های شبکه و خصوصا" نحوه ارتباط آنها با پروتکل TCP/IP آشنا شويم . 
برنامه های با قابليت اجراء بر روی شبکه هائی با سيستم های عامل مايکروسافت، با استفاده از دو روش متفاوت با پروتکل TCP/IP مرتبط می گردنند.
● اينترفيس سوکت های ويندوز (WinSock) 
● اينترفيس NetBIOS 
اينترفيس های فوق يکی از مسائل اساسی در نامگذاری و ترجمه اسامی در شبکه های مبتنی بر TCP/IP را به چالش می کشانند.برنامه های نوشته شده که از اينترفيس NetBIOS استفاده می نمايند از نام کامپيوتر مقصد بعنوان " نقطه آخر" برای ارتباطات استفاده می نمايند در چنين مواردی برنامه های NetBIOS صرفا" مراقبت های لازم را در خصوص نام کامپيوتر مقصد بمنظور ايجاد يک session انجام خواهند داد. در حاليکه پروتکل های TCP/IP )IP,TCP) هيچگونه آگاهی از اسامی کامپيوترهای NetBIOS نداشته و در تمامی موارد مراقبت های لازم را انجام نخواهند داد. 
بمنظور حل مشکل فوق( برنامه هائی که از NetBIOS بکمک اينترفيس NetBIOS با پروتکل TCP/IP مرتبط خواهند شد) از اينترفيس  netBT و يا NetBIOS over TCP/IP استفاده می نمايند. زمانيکه درخواستی برای دستيابی به يک منبع در شبکه از طريق يک برنامه با اينترفيس NetBIOS ارائه می گردد و به لايه Application می رسد از طريق اينترفيس NetBT با آن مرتبط خواهد شد.در اين مرحله نام NetBIOS ترجمه و به يک IP تبديل خواهد شد. زمانيکه نام NetBIOS کامپيوتر به يک آدرس فيزيکی ترجمه می گردد درخواست مربوطه می تواند لايه های زيرين پروتکل TCP/IP را طی تا وظايف محوله دنبال گردد. شکل زير نحوه انجام عمليات فوق را نشان می دهد.

 


اينترفيس 
Winsock 
اغلب برنامه هائی که براساس پروتکل TCP/IP نوشته می گردنند، از اينترفيس Winsock استفاده می نمايند. اين نوع برنامه ها نيازمند آگاهی از نام کامپيوتر مقصد برای ارتباط نبوده و با آگاهی از آدرس IP کامپيوتر مقصد قادر به ايجاد يک ارتباط خواهند بود. 
کامپيوترها جهت کار با اعداد ( خصوصا" IP ) دارای مسائل و مشکلات بسيار ناچيزی می باشند.در صورتيکه انسان در اين رابطه دارای مشکلات خاص خود است . قطعا" بخاطر سپردن اعداد بزرگ و طولانی برای هر شخص کار مشکلی خواهد بود. هر يک از ما طی روز به وب سايت های متعددی مراجعه و صرفا" با تايپ آدرس مربوطه که بصورت يک نام خاص است (www.test.com) از امکانات سايت مربوطه بهره مند می گرديم. آيا طی اين نوع ملاقات ها ما نيازمند آگاهی از آدرس IP سايت مربوطه بوده ايم؟ بهرحال بخاطر سپردن اسامی کامپيوترها بمراتب راحت تر از بخاطر سپردن اعداد ( کد ) است . از آنجائيکه برنامه های Winsock نيازمند آگاهی از نام کامپيوتر و يا Host Name نمی باشند می توان با رعايت تمامی مسائل جانبی از روش فوق برای ترجمه اسامی استفاده کرد. فرآيند فوق را ترجمه اسامی (Host Name Resoulation) می گويند. 
موارد اختلاف بين NetBIOS و WinSock 
برنامه های مبتنی بر NetBIOS می بايست قبل از ايجاد ارتباط با يک کامپيوتر، نام NetBIOS را به يک IP ترجمه نمايند.( قبل از ايجاد ارتباط نام NetBIOS به IP تبديل خواهد شد.) در برنامه های مبتنی بر WinSock می توان از نام کامپيوتر (Host name) در مقابل IP استفاده کرد. قبل از عرضه ويندوز 2000 تمامی شبکه های کامپيوتری که توسط سيستم های عامل ويندوز پياده سازی می شدند از NetBIOS استفاده می کردند. بهمين دليل در گذشته زمان زيادی صرف ترجمه اسامی می گرديد. ويندوز وابستگی به NetBIOS نداشته و در مقابل از سيستم DNS استفاده می نمايد.
DNS NameSpace 
همانگونه که اشاره گرديد DNS از يک ساختار سلسله مراتبی برای سيستم نامگذاری خود استفاده می نمايد. با توجه به ماهيت سلسله مراتبی بودن ساختار فوق، چندين کامپيوتر می توانند دارای اسامی يکسان بر روی يک شبکه بوده و هيچگونه نگرانی از عدم ارسال پيام ها وجود نخواهد داشت. ويژگی فوق درست نقطه مخالف سيستم نامگذاری NetBIOS است . در مدل فوق قادر به انتخاب دو نام يکسان برای دو کامپيوتر موجود بر روی يک شبکه يکسان نخواهيم نبود. 
بالاترين سطح در DNS با نام Root Domain ناميده شده و اغلب بصورت يک “.” و يا يک فضای خالی “” نشان داده می شود. بلافاصله پس از ريشه با اسامی موجود در دامنه بالاترين سطح (Top Level) برخورد خواهيم کرد. دامنه های .Com , .net , .org , .edu نمونه هائی از اين نوع می باشند. سازمانهائی که تمايل به داشتن يک وب سايت بر روی اينترنت دارند، می بايست يک دامنه را که بعنوان عضوی از اسامی حوزه Top Level می باشد را برای خود اختيار نمايد. هر يک از حوزه های سطح بالا دارای کاربردهای خاصی می باشند. مثلا" سازمان های اقتصادی در حوزه .com و موسسات آموزشی در حوزه .edu و ... domain خود را ثبت خواهند نمود.شکل زير ساختار سلسله مراتبی DNS را نشان می دهد.

در هر سطح از ساختار سلسله مراتبی فوق می بايست اسامی با يکديگر متفاوت باشد. مثلا" نمی توان دو حوزه .com و يا دو حوزه .net را تعريف و يا دو حوزه Microsoft.com در سطح دوم را داشته باشيم .استفاده از اسامی تکراری در سطوح متفاوت مجاز بوده و بهمين دليل است که اغلب وب سايت ها دارای نام www می باشند. 
حوزه های Top Level و Second level تنها بخش هائی از سيستم DNS می باشند که می بايست بصورت مرکزی مديريت و کنترل گردنند. بمنظور ريجستر نمودن دامنه مورد نظر خود می بايست با سازمان و يا شرکتی که مسئوليت ريجستر نمودن را برعهده دارد ارتباط برقرار نموده و از آنها درخواست نمود که عمليات مربوط به ريجستر نمودن دامنه مورد نظر ما را انجام دهند. در گذشته تنها سازمانی که دارای مجوز لازم برای ريجستر نمودن حوزه های سطح دوم را در اختيار داشت شرکت NSI)Network Solutions Intcorporated) بود. امروزه امتياز فوق صرفا" در اختيار شرکت فوق نبوده و شرکت های متعددی اقدام به ريجستر نمودن حوزه ها می نمايند. 
مشخصات دامنه و اسم Host 
هر کامپيوتر در DNS بعنوان عضوی از يک دامنه در نظر گرفته می شود. بمنظور شناخت و ضرورت استفاده از ساختار سلسله مراتبی بهمراه DNS لازم است در ابتدا با FQDN آشنا شويم . 

معرفی FQDN ( Fully Qualified Domain Names) 
يک FQDN محل يک کامپيوتر خاص را در DNS مشخص خواهد نمود. با استفاده از FQDN می توان بسادگی محل کامپيوتر در دامنه مربوطه را مشخص و به آن دستيابی نمود. FQDN يک نام ترکيبی است که در آن نام ماشين (Host) و نام دامنه مربوطه قرار خواهد گرفت . مثلا" اگر شرکتی با نام TestCorp در حوزه سطح دوم دامنه خود را ثبت نمايد (TestCorp.com) در صورتيکه سرويس دهنده وب بر روی TestCorp.com اجراء گردد می توان آن را www ناميد و کاربران با استفاده از www.testCorp.com به آن دستيابی پيدا نمايند. 
دقت داشته باشيد که www از نام FQDN مثال فوق نشاندهنده يک شناسه خدماتی نبوده و صرفا" نام host مربوط به ماشين مربوطه را مشخص خواهد کرد. يک نام FQDN از دو عنصر اساسی تشکيل شده است :

● Label  : شامل نام حوزه و يا نام يک host است . 
●Dots    : نقطه ها که باعت جداسازی بخش های متفاوت خواهد شد. 
هر lable توسط نقطه از يکديگر جدا خواهند شد. هر lable می تواند حداکثر دارای ۶۳ بايت باشد. دقت داشته باشيد که طول ( اندازه ) هر lable بر حسب بايت مشخص شده است نه بر حسب طول رشته . علت  اين است که DNS در ويندوز 2000 از کاراکترهای UTF-8 استفاده می نمايد. بر خلاف کاراکترهای اسکی که قبلا" از آنان استفاده می گرديد. بهرحال FQDN می بايست دارای طولی به اندازه حداکثر 255 بايت باشد. 
طراحی نام حوزه برای يک سازمان 
قبل از پياده سازی  سيستم ( مدل ) DNS برای يک سازمان ، می بايست به نمونه سوالات ذيل بدرستی پاسخ داد: 
- آيا سازمان مربوطه در حال حاضر برای ارتباط اينترانتی خود از DNS استفاده می نمايد؟
- آيا سازمان مربوطه دارای يک سايت اينترنتی است ؟
- آيا سازمان مربوطه دارای يک حوزه( دامنه ) ثبت شده ( ريجستر شده ) است ؟
- آيا سازمان مربوطه از اسامی حوزه يکسان برای منابع مربوطه موجود بر روی اينترنت / اينترانت استفاده می نمايد؟

استفاده از نام يکسان دامنه برای منابع اينترنت و اينترانت 
استفاده از اسامی يکسان برای نامگذاری دامنه بمنظور استفاده از منابع موجود داخلی و منابع اينترنتی در مرحله اول بسيار قابل توجه و جذاب خواهد بود. تمامی ماشين ها بعنوان عضو يک دامنه يکسان محسوب و کاربران نياز به بخاطر سپردن دامنه های متفاوت بر اساس نوع منبع که ممکن است داخلی و يا خارجی باشد نخواهند داشت ..با توجه  به وجود مزايای فوق، بکارگيری اين روش  می تواند باعث بروز برخی مشکلات نيز گردد. بمنظور حفاظت از ناحيه (Zone) های DNS از دستيابی غير مجاز نمی بايست هيچگونه اطلاعاتی در رابطه با منابع داخلی بر روی سرويس دهنده DNS نگهداری نمود. بنابراين می بايست برای يک دامنه از دو Zone متفاوت استفاده نمود. يکی از Zone ها منابع داخلی را دنبال و Zone ديگر مسئوليت پاسخگوئی به منابعی است که بر روی اينترنت قرار دارند. عمليات فوق قطعا" حجم وظايف مديريت سايت را افزايش خواهد داد. 
پياده سازی نام يکسان برای منابع داخلی و خارجی 
يکی ديگر از عملياتی که می بايست در زمان پياده سازی دامنه های يکسان برای منابع داخلی و خارجی مورد توجه قرار دارد Mirror نمودن منابع خارجی بصورت داخلی است . مثلا" فرض نمائيد که Test.com نام انتخاب شده برای دستيابی به منابع داخلی ( اينترانت) و منابع خارجی ( اينترنت ) است.درچنين وضعيتی دارای سرويس دهنده وب برا یاينترانت باشيم که پرسنل سازمان از آن بمنظور دستيابی به اطلاعات اختصاصی و ساير اطلاعات داخلی سازمان استفاده می نمايند.در اين مدل دارای سرويس دهندگانی خواهيم بود که بمنظور دستيابی به منابع اينترنت مورد استفاده قرار خواهند گرفت . ما می خواهيم از اسامی يکسان برای سرويس دهندگان استفاده نمائيم . در مدل فوق اگر درخواستی برای www.test.com صورت پذيرد مسئله به کامپيوتری ختم خواهد شد که قصد داريم برای کاربران اينترنت قابل دستيابی باشد. در چنين وضعيتی ما نمی خواهيم کاربران اينترنت قادر به دستيابی به اطلاعات شخصی و داخلی سازمان باشند. جهت حل مشکل فوق Mirror نمودن منابع اينترنت بصورت داخلی است و ايجاد يک zone در DNS برای دستيابی کاربران به منابع داخلی ضروری خواهد بود. زمانيکه کاربری درخواست www.test.com را صادر نمائيد در ابتدا مسئله نام از طريق سرويس دهنده داخلی DNS برطرف خواهد شد که شامل zone داخلی مربوطه است . زمانی که يک کاربر اينترنت قصد دستيابی به www.test.com را داشته باشد درخواست وی به سرويس دهنده اينترنت DNS ارسال خواهدشد که در چنين حالتی آدرس IP سرويس دهنده خارجی DNS برگردانده خواهد شد.


استفاده از اسامی متفاوت برای دامنه ها ی اينترنت و اينترانت
در صورتيکه سازمانی به اينترنت متصل و يا در حال برنامه ريزی جهت اتصال به اينترنت است می توان از دو نام متفاوت برای دستيابی به منابع اينترانتی و اينترنتی استفاده نمود. پياده سازی مدل فوق بمراتب از مدل قبل ساده تر است . در مدل فوق نيازی به نگهداری Zone های متفاوت برای هر يک از آنها نبوده و هريک از آنها دارای يک نام مجزا و اختصاصی مربوط به خود خواهند بود. مثلا" می توان نام اينترنتی حوزه را Test.com و نام اينترانتی آن را TestCorp.com قرار داد.


 

برای نامگذاری هر يک از زير دامنه ها می توان اسامی انتخابی را براساس نوع فعاليت و يا حوزه جفرافيائی انتخاب نمود. 
Zones of Authority 
DNS دارای ساختاری است که از آن برای گروه بندی و دنبال نمودن ماشين مربوطه براساس نام host در شبکه استفاده خواهد شد. بمنظور فعال نمودن DNS در جهت تامين خواسته ای مورد نظر می بايست روشی جهت ذخيره نمودن اطلاعات در DNS وجود داشته باشد.اطلاعات واقعی در رابطه با دامنه ها در فايلی با نام Zone database ذخيره می گردد. اين نوع فايل ها، فايل های فيزيکی بوده که بر روی سرويس دهنده DNS ذخيره خواهند شد. آدرس محل قرار گيری فايل های فوق %systemroot%system32dns خواهد بود. در اين بخش هدف بررسی Zone های استاندارد بوده که به دو نوع عمده تقسيم خواهند شد. 
●Forward Lookup Zone 
●Reverse Lookup Zone
در ادامه به تشريح عملکرد هر يک از Zone های فوق خواهيم پرداخت .
Forward Lookup Zone 
از اين نوع Zone برای ايجاد مکانيزمی برای ترجمه اسامی host به آدرس IP برای سرويس گيرندگان DNS استفاده می گردد. Zone ها دارای اطلاعاتی هستند که بصورت رکوردهای خاص در بانک اطلاعاتی مربوطه ذخيره خواهند شد. اين نوع رکوردها را " رکوردهای منبع Resource Record " می گويند. رکوردهای فوق اطلاعات مورد نياز  در رابطه با منابع قابل دسترس در هر Zone را مشخص خواهند کرد. 
تفاوت بين Domain و Zone 
در ابتدا می بايست به اين نکته اشاره نمود که Zone ها با دامنه ها (Domain) يکسان نبوده و يک Zone می تواند شامل رکوردهائی در رابطه با چندين دامنه باشد. مثلا" فرض کنيد ،  دامنه www.microsoft.com  دارای دو زير دامنه با نام East , West باشد. (West.microsoft.com , East.microsoft.com ). مايکروسافت دارای دامنه اختصاصی msn.com بوده که خود شامل يک زيردامنه با نام mail.microsoft.com است


 

دامنه های همجوار و غير همجوار در شکل فوق نشان داده شده است . دامنه های همجوار همديگر را حس خواهند کرد ( برای يکديگر ملموس خواهند بود ) . در رابطه با مثال فوق دامنه های موجود در Zone Microsoft.com همجوار و دامنه های Msn.com و Microsoft.com غير همجوار هستند. 
Zone ها مجوز واگذاری مسئوليت برای پشتيبانی منابع موجود در Zone را فراهم خواهند کرد. Zone ها روشی را بمنظور واگذاری مسئوليت پشتيبانی و نگهداری بانک اطلاعاتی مربوطه فراهم خواهند کرد. فرض کنيد شرکتی با نام TACteam وجودداشته باشد. شرکت فوق از دامنه ای با نام tacteam.net استفاده می نمايد. شرکت فوق دارای شعباتی در San Francisco, Dallas, and Boston است . شعبه اصلی در Dallas بوده که مديران متعددی برای مديريت شبکه در آن فعاليت می نمايند. شعبه San Francisco نيز دارای چندين مدير ورزيده بمنظور نظارت بر سايت است . شعبه Boston دارای مديريتی کارآمد برای مديريت DNS نمی باشد. بنابراين همواره نگرانی های مربوط به واگذاری مسئوليت نگهداری بانک اطلاعاتی به يک فرد در Boston خواهيم بود. منابع موجود بر روی سايت Dallas در حوزه tacteam.net بوده و منابع موجود در San Francisco در سايت west.tacteam.net و منابع موجود در Boston در سايت east.tacteam.net نگهداری می گردنند. در چنين وضعيتی ما صرفا" دو Zone را برای مديريت سه دامنه ايجاد خواهيم کرد. يک Zone برای tacteam.net که مسئوليت منابع مربوط به tacteam.net و east.tacteam.net را برعهده داشته و يک Zone ديگر برای west.tacteam.net که منابع موجود بر روی سايت San Francisco را برعهده خواهد گرفت . اسامی مورد نظر برای هر Zone به چه صورت می بايست انتخاب گردنند؟ هر Zone نام خود را از طريق ريشه و يا بالاترين سطح دامنه اقتباس خواهند شد. زمانيکه درخواستی برای يک منبع موجود بر روی دامنه west.tacteam.net برای DNS واصل گردد ( سرويس دهنده DNS مربوط به tacteam.net ) سرويس دهنده tacteam.net صرفا" شامل يک Zone نخواهد بود.در چنين وضعينی سرويس دهنده فوق دارای يک Delegation ( واگذاری مسئوليت ) بوده که به سرويس دهنده DNS مربوط به west.tacteam.net اشاره خواهد کرد. بنابراين درخواست مربوطه برای ترجمه اسامی به آدرس بدرستی به سرويس دهنده مربوطه هدايت تا مشکل برطرف گردد.


Reverse Lookup Zones 
Zoneها ی از نوع Forward امکان ترجمه نام يک کامپيوتر به يک IP را فراهم می نمايند..يک Reverse Lookup اين امکان را به سرويس گيرندگان خواهد داد که عمليات مخالف عمليات گفته شده را انجام دهند: ترجمه يک آدرس IP به يک نام . مثلا" فرض کنيد شما می دانيد که آدرس IP مربوط به کامپيوتر مقصد 192.168.1.3 است اما علاقه مند هستيم که نام آن را نيز داشته باشيم . بمنظور پاسخگوئی به اين نوع درخواست ها سيستم DNS از اين نوع Zone ها استفاده می نمايد. Zone های فوق بسادگی و راحتی Forward Zone ها رفتار نمی نمايند. مثلا" فرض کنيد Forward Lookup Zone مشابه يک دفترچه تلفن باشد ايندکس اين نوع دفترچه ها بر اساس نام اشخاص است . در صورتيکه قصد يافتن يک شماره تلفن را داشته باشيد با حرکت بر روی حرف مربوطه و دنبال نمودن ليست که بترتيب حروف الفباء است قادر به يافتن نام شخص مورد نظر خواهيد بود. اگر ما شماره تلفن فردی را بدانيم و قصد داشته باشيم از نام وی نيز آگاهی پيدا نمائيم چه نوع فرآيندی را می بايست دنبال نمود؟. از آنجائيکه دفترچه تلفن بر اساس نام ايندکس شده است تنها راه حرکت و جستجو در تمام شماره تلفن ها و يافتن نام مربوطه است .قطعا" روش فوق روش مناسبی نخواهد بود. بمنظور حل مشکل فوق در رابطه با يافتن نام در صورتيکه IP را داشته باشيم از يک دامنه جديد با نام in-addr.arpa استفاده می گردد. دامنه فوق اسامی مربوطه به دامنه ها را بر اساس شناسه شبکه (Network ID) ايندکس و باعث افزايش سرعت و کارآئی در بازيابی اطلاعات مورد نظر با توجه به نوع درخواست ها خواهد شد.
با استفاده از برنامه مديريتی DNS می توان براحتی اقدام به ايجاد اين نوع Zone ها نمود. مثلا" اگر کامپيوتری دارای آدرس 192.168.1.0 باشد يک آدرس معکوس ايجاد و Zone مربوطه بصورت زير خواهد بود :

§  1.168.192.in-addr.arpa.dns
 
 
پایان بخش دوم .

نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:








تاریخ: برچسب:,
ارسال توسط MashgheShab.- -... --- .-.. ..-. .- --.. .-.. - .- .--- .. -.-

آرشیو مطالب
پيوند هاي روزانه
امکانات جانبی

خبرنامه وب سایت:





Online User



قالب میهن بلاگ تقویم جلالی


IranSkin go Up
دریافت کد حرکت متن --- .